export class LuckModel {
    card: CardModel
    maze: MazeModel
    worship: WorshipModel
    front: FrontModel
    trade: TradeModel
    constructor(opts: any = {}) {
        this.card = new CardModel(opts.card)
        this.maze = new MazeModel(opts.maze)
        this.worship = new WorshipModel(opts.worship)
        this.front = new FrontModel(opts.front)
        this.trade = new TradeModel(opts.trade)
    }
}
export class TradeItemModel {
    useItem: number
    getItem: number
    isDouble: boolean
    constructor(opts: any = {}) {
        this.useItem = opts.useItem || null
        this.getItem = opts.getItem || null
        this.isDouble = opts.isDouble || false
    }
}
export class TradeModel {
    times: number//今日交易次数
    buyTimes: number//购买交易次数
    lvl: number
    exp: number
    tradeItems: TradeItemModel[]
    constructor(opts: any = {}) {
        this.times = opts.times || 0
        this.buyTimes = opts.buyTimes || 0
        this.lvl = opts.lvl || 0
        this.exp = opts.exp || 0
        this.tradeItems = opts.tradeItems || []
    }
}
export class FrontModel {
    times: number//今日闯阵次数
    buyTimes: number//购买次数
    lvl: number
    lvlMax: number
    haveGetScore: boolean//每日积分是否领取
    deadHeros: number[]//阵亡的英雄id
    items: number[]//卡牌内容
    openIndexs: number[]
    // score: number
    constructor(opts: any = {}) {
        this.times = opts.times || 0
        this.buyTimes = opts.buyTimes || 0
        this.lvl = opts.lvl || 1
        this.lvlMax = opts.lvlMax || 1
        this.haveGetScore = opts.haveGetScore || false
        this.deadHeros = opts.deadHeros || []
        this.items = opts.items || []
        this.openIndexs = opts.openIndexs || []
        // this.score = opts.score || 0
    }
}
export class WorshipModel {
    times: number//今日祭天次数
    buyTimes: number//购买次数
    lvl: number
    exp: number
    getFirstPoint: boolean
    constructor(opts: any = {}) {
        this.times = opts.times || 0
        this.buyTimes = opts.buyTimes || 0
        this.lvl = opts.lvl || 0
        this.exp = opts.exp || 0
        this.getFirstPoint = opts.getFirstPoint || false
    }
}
export class CardModel {
    cards: number[]
    visibleCards: number[]
    cardState: any//翻牌情况
    // times: number//游戏次数
    flipTimes: number//翻牌次数
    constructor(opts: any = {}) {
        this.cards = opts.cards || []
        this.visibleCards = opts.visibleCards || []
        this.cardState = opts.cardState || {}
        // this.times = opts.times || 0
        this.flipTimes = opts.flipTimes || 0
    }
}
export class MazeModel {
    // begin: boolean
    done: boolean//是否开启宝藏
    actionPower: number//消耗的行动力
    addActionPower: number//游戏中额外获取的行动力
    buyActionPower: number//购买的行动力
    // times: number//完成的次数
    // diamondTimes: number//完成的次数
    maps: number[]
    mapState: any
    constructor(opts: any = {}) {
        // this.begin = opts.begin || false
        this.done = opts.done || false
        this.actionPower = opts.actionPower || 0
        this.addActionPower = opts.addActionPower || 0
        this.buyActionPower = opts.buyActionPower || 0
        // this.times = opts.times || 0
        // this.diamondTimes = opts.diamondTimes || 0
        this.maps = opts.maps || []
        this.mapState = opts.mapState || {}
    }
}